package cn.lcsjsxy.yxc.incommonuse.Date;

import org.junit.jupiter.api.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Date;

public class JDK8DateTimeTest {
    @Test
    public void testDate(){
        Date date=new Date(2025-1900,3-1,30);
        System.out.println(date);//Sun Mar 30 00:00:00 CST 2025
    }

    /**
     * LocalDate、LocalTime、LocalDateTime的使用
     * 说明：
     *  1.LocalDateTime相较于LocalDate、LocalTime,使用频率高
     */
    @Test
    public void test1(){
        //now():获取当前的日期、时间、日期+时间
        LocalDate localDate=LocalDate.now();
        LocalTime  localTime=LocalTime.now();
        LocalDateTime localDateTime=LocalDateTime.now();

        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(localDateTime);

        //of():设置指定的年、月、日、时分秒没有偏移量
        LocalDateTime localDateTime1=LocalDateTime.of(2025,3,30,15,22,50);
        System.out.println(localDateTime1);

        //getXxx()  获取数值
        System.out.println(localDateTime.getDayOfYear());
        System.out.println(localDateTime.getDayOfMonth());
        System.out.println(localDateTime.getDayOfWeek());

        //with()    体现不可变性
        LocalDateTime localDateTime2=localDateTime.withDayOfMonth(22);
        System.out.println(localDateTime);  //不影响原来的
        System.out.println(localDateTime2);

        //plus()加   minus（）减    都体现不可变性
        LocalDateTime localDateTime3=localDateTime.plusMonths(3);
        System.out.println(localDateTime);  //同样不影响原来的
        System.out.println(localDateTime3);
        localDateTime3=localDateTime.minusMonths(9);
        System.out.println(localDateTime);
        System.out.println(localDateTime3);
    }
}
